Aula 10 - Revisão e Correção de exercícios

Módulo 1: Introdução ao R

Carolina Musso

PROFESP, DEMSP, MS

Semana 4

  • Aula 10 - Correção exercícios

  • Aula 11 - Introdução ao mundo dos gráficos

  • Aula 12 - Fim do módulo e apresentação da tarefa

Aula 4

  • O primeiro relatório automatizado

  • Desafio:

    • Hashtag: Qual a diferença dele (#) na parte do texto e dentro dos chunks de código?

    • Código inline: Há outro tipo de escrita de código em R no script sem ser dentro dos chunks. Consegue encontrá-lo?

Aula 5

  • Pacotes
  • O pacote pacman
if (!require(pacman)) install.packages("pacman")
  pacman::p_load(tidyverse, data.table, flextable, officer)

Aula 6

  • Erros

    • No código (R)
    • De compilação (cabeçalho YAML ou outros)
  • Vamos ao R-Studio!

Aula 7 - Importações

Porque nesse caso não foi preciso se preocupar com o caminho do arquivo no seu computador? Ou seja, porque não precisamos nos preocupar onde a sessão de R está rodando?

who_bruto <- import("https://covid19.who.int/WHO-COVID-19-global-data.csv")
  • Por que estamos baixando de uma página na internet. O “caminho” é o endereço da web.

Aula 7 - Importações

Vamos importar agora um dado do disco fazendo testes como se pede na aula.

getwd()
[1] "/Users/carolinamusso/Desktop/Sustento/cmusso86.github.io/R_tras_pra_Frente/Aula10_correcao_exercicios"
vacina_bruto <-import("vacinas.xlsx")
head(vacina_bruto)
          [Município] Cód. IBGE UF       Região          Fabricante
1     Abadia De Goiás    520005 GO Centro-Oeste    BUTANTAN/SINOVAC
2     Abadia De Goiás    520005 GO Centro-Oeste FIOCRUZ/ASTRAZENECA
3     Abadia De Goiás    520005 GO Centro-Oeste             JANSSEN
4     Abadia De Goiás    520005 GO Centro-Oeste     PFIZER/BIONTECH
5 Abadia Dos Dourados    310010 MG      Sudeste    BUTANTAN/SINOVAC
6 Abadia Dos Dourados    310010 MG      Sudeste FIOCRUZ/ASTRAZENECA
  Total de doses aplicadas 1ª Dose D1 2ª Dose D2 Dose Adicional DA
1                     7313       4030       3276                 1
2                     7387       3792       3585                 3
3                      200          0          0                 8
4                     9899       4920       3325                48
5                     2701       1395       1299                 1
6                     5475       2798       2670                 0
  Dose Reforço DR Dose Única DU
1               6             0
2               7             0
3              26           166
4            1606             0
5               6             0
6               7             0
  • Você pode ter recebido alguns “Warnings” vermelhos, mas não se preocupe!

Aula 7 - Importações

Como ler o arquivo de uma pasta “acima”.

getwd()
[1] "/Users/carolinamusso/Desktop/Sustento/cmusso86.github.io/R_tras_pra_Frente/Aula10_correcao_exercicios"
dados <- import("vacinas.xlsx")

- Os “..” mostram o caminho de uma pasta anterior.

Aula 7 - importações

  • Ler o arquivo em uma subpasta “Curso de R”
getwd()
[1] "/Users/carolinamusso/Desktop/Sustento/cmusso86.github.io/R_tras_pra_Frente/Aula10_correcao_exercicios"
dados <- import("Curso de R/vacinas.xlsx")
  • Incluir o nome da pasta e uma “/” antes do nome do arquivo

Aula 8 - vetores numéricos

  • Crie um vetor numérico chamado “meu_primeiro_vetor” com cinco valores numéricos usando a função c()
meu_primeiro_vetor <- c(1 , 4, 9, 16, 25)
  • Crie outro vetor, com outro nome de sua preferência.
outro_vetor <- c(144, 169, 256)

Aula 8 - vetores numéricos

Aplique a função sqrt() que calcula a raiz quadrada no vetor numérico e salve o resultado em um objeto com o nome de sua preferência.

raiz_quadrada1 <- sqrt(meu_primeiro_vetor)
raiz_quadrada2 <- sqrt(outro_vetor)

Aula 8 - vetores numéricos

Como posso observar esses objetos. Cite pelo menos duas formas diferentes.

raiz_quadrada1
[1] 1 2 3 4 5
raiz_quadrada2
[1] 12 13 16
  • Observando na aba Environment

Aula 8 - strings

Corrija o comando abaixo para criar um vetor de caracteres com o nome dessas pessoas.

nomes_colegas <- c(Otto,Carol, Julio)
  • Correção
nomes_colegas <- c("Otto","Carol", "Julio")
  • Faltava as ” ”

Aula 8 - strings

Corrija o comando abaixo para criar um vetor de caracteres com o nome dos colegas.

nomes_colegas <- ("Otto","Carol", "Julio")
  • Correção
nomes_colegas <- c("Otto","Carol", "Julio")
  • Faltava a função c()

Aula 8 - objetos

Use a funçao class() para verificar os tipos de vetores criados até agora

class(meu_primeiro_vetor)
[1] "numeric"
class(outro_vetor)
[1] "numeric"
class(nomes_colegas)
[1] "character"
  • Desafio: que tipo de vetor terei se juntar números e nomes?
mistura <- c( "Carol", 42)
class(mistura)
[1] "character"

Aula 8 - objetos

Observe os tipos de objetos criados até agora na aba Environment. Descreva o que pode ser obtido de informação nessas abas.

Aula 8 - objetos

Use a função sum() para calcular a soma dos valores do vetor numérico criado anteriormente. Basta dar o nome do vetor numérico como argumento para essa função. Note que ela só aceita vetores numéricos, afinal, não é possível somar nomes.

sum(meu_primeiro_vetor)
[1] 55
sum(outro_vetor)
[1] 569
sum(raiz_quadrada1)
[1] 15

Aula 8 - objetos

Descubra (pode ser no google ou com o coleguinha) qual a função para calcular a média dos valores do mesmo vetor. É importante exercitar essa capacidade de busca, mesmo que não tenhamos visto ainda essa função em aula.

mean(meu_primeiro_vetor)
[1] 11
mean(outro_vetor)
[1] 189.6667
mean(raiz_quadrada1)
[1] 3

Aula 8 - Data frame

Use a função class() para verificar o tipo de objeto que é o “who_bruto” criado no início desse script.

class(who_bruto)
[1] "data.frame"

Aula 8 - Data Frame

Use a função dim() no mesmo objeto. Você consegue descobrir o que essa função fez?

dim(who_bruto)
[1] 52800     8
  • Mostra a dimensão: número de linhas e colunas

Aula 8 - data frame

Use o atributo do R base $ para salvar a coluna New_Cases do objeto who_bruto em um novo objeto com um nome de sua preferência.

Casos_novos <- who_bruto$New_cases
  • Veja um resumo (use a função summary() ) desse vetor que acabou de criar…
summary(Casos_novos)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max.     NA's 
  -65079       52      468    21053     4471 40475477    15990 

Aula 9 - exportar

Abaixo, o código cria um gráfico e o salva como uma figura em .png. Como que ele sabe que objeto salvar, se não criei um objeto e nem dei o nome desse objeto?

 ggplot(who_trat)+
  geom_bar(aes(x=Country, y=Acumulado), stat="identity",
           color="black", fill="orange")+
  coord_flip()+
  theme_classic()

ggsave("Graf1.png")
  • O padrão dessa função é salvar o último gráfico criado!

Aula 9 - exportações

A função abaixo gera um erro. Tente descobrir o que aconteceu e como corrigir.

grafico1 <- ggplot(who_trat)+
  geom_bar(aes(x=Country, y=Acumulado), stat="identity", 
           color="black", fill="orange")+
  coord_flip()+
  theme_classic()

ggsave(grafico1, "Graf1.png")
  • Nessa função específica, o nome do arquivo é o primerio argumento da função!
  • Atenção: Isto também é uma errata para o que foi apresentado na aula 9.
?ggsave

  • Para corrigir
ggsave(grafico1, filename="Graf1.png")

# OU

ggsave ("Graf1.png", grafico1)

Aula 9 - exportações

  • Salve o arquivo em outro formato que não .png
ggsave ("Graf1.jpeg", grafico1)
  • Salve o arquivo numa pasta “acima” a que você se encontra.
ggsave ("../Graf1.jpeg", grafico1)

Aula 9 - exportações

Salve o gráfico em uma largura maior. Dica procure a ajuda do ggsave para ver os parâmetros dessa função.

?ggsave ## execute esse código para abrir a aba de ajuda dessa função

ggsave ("Graf_maior.jpeg", grafico1, width=10)

Aula 9 - Exportação: Tabelas

Identifique a parte do código abaixo que está exportando a tabela para o disco e diga em qua formato ela está sendo exportada.


Tab1 <- who_trat %>% 
  flextable() %>% 
  width(width=2) %>% 
  style(pr_t=fp_text(font.size=13,
                     font.family='Calibri'), part="body")%>%
  style(pr_t=fp_text(font.size=13,
                     font.family='Calibri'), part="header")%>%
  bold(part="header")%>%
  bold(part="body", j=1)%>%
  hline( border=fp_border(color="black", width = 0.5))%>%
  align( align = "center", part = "all")%>%
  bg(bg="orange", part="header")  %>% 
  save_as_docx(Tab1,path="Tab1.docx")
 
  • última linha, está sendo salva em Word!

Obrigada!